import { reactive, ref } from "vue";
export const flag = reactive({
  flags: false
})
export const BasicForm = reactive({
  name: "",
  region: "",
  desc: "",
});
export const TimeValues = reactive({
  value1: "",
  value2: ""
})

export const store = reactive({
  options: [
    {
      value: "zhinan",
      label: "指南",
      children: [
        {
          value: "shejiyuanze",
          label: "设计原则",
          children: [
            {
              value: "yizhi",
              label: "一致",
            },
            {
              value: "fankui",
              label: "反馈",
            },
            {
              value: "xiaolv",
              label: "效率",
            },
            {
              value: "kekong",
              label: "可控",
            },
          ],
        },
        {
          value: "daohang",
          label: "导航",
          children: [
            {
              value: "cexiangdaohang",
              label: "侧向导航",
            },
            {
              value: "dingbudaohang",
              label: "顶部导航",
            },
          ],
        },
      ],
    },
    {
      value: "zujian",
      label: "组件",
      children: [
        {
          value: "basic",
          label: "Basic",
          children: [
            {
              value: "layout",
              label: "Layout 布局",
            },
            {
              value: "color",
              label: "Color 色彩",
            },
            {
              value: "typography",
              label: "Typography 字体",
            },
            {
              value: "icon",
              label: "Icon 图标",
            },
            {
              value: "button",
              label: "Button 按钮",
            },
          ],
        },
        {
          value: "form",
          label: "Form",
          children: [
            {
              value: "radio",
              label: "Radio 单选框",
            },
            {
              value: "checkbox",
              label: "Checkbox 多选框",
            },
            {
              value: "input",
              label: "Input 输入框",
            },
            {
              value: "input-number",
              label: "InputNumber 计数器",
            },
            {
              value: "select",
              label: "Select 选择器",
            },
            {
              value: "cascader",
              label: "Cascader 级联选择器",
            },
            {
              value: "switch",
              label: "Switch 开关",
            },
            {
              value: "slider",
              label: "Slider 滑块",
            },
            {
              value: "time-picker",
              label: "TimePicker 时间选择器",
            },
            {
              value: "date-picker",
              label: "DatePicker 日期选择器",
            },
            {
              value: "datetime-picker",
              label: "DateTimePicker 日期时间选择器",
            },
            {
              value: "upload",
              label: "Upload 上传",
            },
            {
              value: "rate",
              label: "Rate 评分",
            },
            {
              value: "form",
              label: "Form 表单",
            },
          ],
        },
        {
          value: "data",
          label: "Data",
          children: [
            {
              value: "table",
              label: "Table 表格",
            },
            {
              value: "tag",
              label: "Tag 标签",
            },
            {
              value: "progress",
              label: "Progress 进度条",
            },
            {
              value: "tree",
              label: "Tree 树形控件",
            },
            {
              value: "pagination",
              label: "Pagination 分页",
            },
            {
              value: "badge",
              label: "Badge 标记",
            },
          ],
        },
        {
          value: "notice",
          label: "Notice",
          children: [
            {
              value: "alert",
              label: "Alert 警告",
            },
            {
              value: "loading",
              label: "Loading 加载",
            },
            {
              value: "message",
              label: "Message 消息提示",
            },
            {
              value: "message-box",
              label: "MessageBox 弹框",
            },
            {
              value: "notification",
              label: "Notification 通知",
            },
          ],
        },
        {
          value: "navigation",
          label: "Navigation",
          children: [
            {
              value: "menu",
              label: "NavMenu 导航菜单",
            },
            {
              value: "tabs",
              label: "Tabs 标签页",
            },
            {
              value: "breadcrumb",
              label: "Breadcrumb 面包屑",
            },
            {
              value: "dropdown",
              label: "Dropdown 下拉菜单",
            },
            {
              value: "steps",
              label: "Steps 步骤条",
            },
          ],
        },
        {
          value: "others",
          label: "Others",
          children: [
            {
              value: "dialog",
              label: "Dialog 对话框",
            },
            {
              value: "tooltip",
              label: "Tooltip 文字提示",
            },
            {
              value: "popover",
              label: "Popover 弹出框",
            },
            {
              value: "card",
              label: "Card 卡片",
            },
            {
              value: "carousel",
              label: "Carousel 走马灯",
            },
            {
              value: "collapse",
              label: "Collapse 折叠面板",
            },
          ],
        },
      ],
    },
    {
      value: "ziyuan",
      label: "资源",
      children: [
        {
          value: "axure",
          label: "Axure Components",
        },
        {
          value: "sketch",
          label: "Sketch Templates",
        },
        {
          value: "jiaohu",
          label: "组件交互文档",
        },
      ],
    },
  ],
  optionsVid: [],
  checkAll: false,
  checkedCities: [],
  cities: [
    "App",
    "PC",
    "H5",
    "小程序",
    "目录H5",
    "iPDA",
    "ARS",
    "人工订购",
  ],
  isIndeterminate: true,
});
export const list = reactive({
  //平台承担比例信息
  methods_info_choose: "",
  methods_info_num: "",
  //商品限购信息  1是限购  2 是不限
  shopOwner_radio: "1",
  shopOwner_info_num: "",
  //单个用户限购信息  1是 供应商  2 是平台
  selfOwner_radio: "2",
  selfOwner_info_num: "",
  //超出是否可以继续下单 1是“否”  2 是“是”
  support_num: "1",
  //活动限量   1是 供应商  2 是平台
  edition_radio: "2",
  edition_info_num: "",
  //优惠方式
  //优惠方法单选
  special_radio: "1",
  //单品折扣 信息
  special_radio_choose_one: "",
  special_num_one: "",
  //单品立减 信息
  special_radio_choose_two: "",
  special_num_two: "",
  //单品一口价 信息
  special_radio_choose_three: "",
  special_num_three: ""
})


export const Prorules = reactive({
  methods_info_num: [{
    validator: (rule: any, value: string, callback: any) => {

      if (list.methods_info_num === "") {
        return callback(new Error('不能为空'))
      } else {
        if (typeof list.methods_info_num !== "number") {
          return callback(new Error('必须为数字'))
        } else {
          callback()
        }
      }


    },
    trigger: 'blur'
  }],
  shopOwner_info_num: [{
    validator: (rule: any, value: string, callback: any) => {

      if (list.shopOwner_info_num === "") {
        return callback(new Error('不能为空'))
      } else {
        if (typeof list.shopOwner_info_num !== "number") {
          return callback(new Error('必须为数字'))
        } else {
          callback()
        }
      }


    },
    trigger: 'blur'
  }],
  selfOwner_info_num: [{
    validator: (rule: any, value: string, callback: any) => {

      if (list.selfOwner_info_num === "") {
        return callback(new Error('不能为空'))
      } else {
        if (typeof list.selfOwner_info_num !== "number") {
          return callback(new Error('必须为数字'))
        } else {
          callback()
        }
      }



    },
    trigger: 'blur'
  }],
  edition_info_num: [{
    validator: (rule: any, value: string, callback: any) => {

      if (list.edition_info_num === "") {
        return callback(new Error('不能为空'))
      } else {
        if (typeof list.edition_info_num !== "number") {
          return callback(new Error('必须为数字'))
        } else {
          callback()
        }
      }



    },
    trigger: 'blur'
  }],
  special_num_one: [{
    validator: (rule: any, value: string, callback: any) => {

      if (list.special_num_one === "") {
        return callback(new Error('不能为空'))
      } else {
        if (typeof list.special_num_one !== "number") {
          return callback(new Error('必须为数字'))
        } else {
          callback()
        }
      }


    },
    trigger: 'blur'
  }],
  special_num_two: [{
    validator: (rule: any, value: string, callback: any) => {


      if (list.special_num_two === "") {
        return callback(new Error('不能为空'))
      } else {
        if (typeof list.special_num_two !== "number") {
          return callback(new Error('必须为数字'))
        } else {
          callback()
        }
      }


    },
    trigger: 'blur'
  }],
  special_num_three: [{
    validator: (rule: any, value: string, callback: any) => {

      if (list.special_num_three === "") {
        return callback(new Error('不能为空'))
      } else {
        if (typeof list.special_num_three !== "number") {
          return callback(new Error('必须为数字'))
        } else {
          callback()
        }
      }


    },
    trigger: 'blur'
  }]
})

export const rules = reactive({
  value2: [
    {
      validator: (rule: any, value: string, callback: any) => {
        if (flag.flags) {
          if (TimeValues.value2 === "") {
            return callback(new Error('不能为空'))
          } else {
            return
          }
        }


      }, trigger: 'blur'
    },
  ]
})


export const activeRules = reactive({
  checkedCities: [
    {
      type: 'array',
      required: true,
      message: '请至少选择一个',
      trigger: 'change'
    }
  ],
  optionsVid: [
    {
      type: 'array',
      required: true,
      message: '不为空',
      trigger: 'blur'
    }
  ]

})



//校验事件


// ---时间组件
export const form = ref(null);
export const submitForms = () => {
  (form.value as any).validate((valid: any) => {

    if (valid) {
      alert("submit!");
    } else {

      return false;
    }
  });
};


//  ---活动资金
export const project = ref(null)
export const proSubmitForms = () => {
  (project.value as any).validate((valid: any) => {

    if (valid) {
      alert("submit!");
    } else {

      return false;
    }
  });
}

// ---选择
export const activeEdit = ref(null)
export const activeSubmitForms = () => {
  (activeEdit.value as any).validate((valid: any) => {

    if (valid) {
      alert("submit!");
    } else {

      return false;
    }
  });
}
